package org.example.abstractFactoryPattern;

/**
 * @author LiXingShuai
 * @className AbstractFactoryTest
 * @description: 抽象工厂测试
 * @date 2023年04月16日
 * @version: 1.0
 */
public class AbstractFactoryTest {

    /**
     * 抽象工厂模式中主要的优点在于【具体类的隔离】，是的客户端不需要知道什么被创建了。其缺点在于增加新的产品族比较复杂，需要修改接口及其所有子类。
     * 工厂模式和抽象工厂模式主要区别在于产品，产品种类单一，适合工厂模式。 抽象工厂模式适合用于创建多个产品种类，多个产品类型。
     */

    /**
     *
     * @param args
     */
    public static void main(String[] args) {
        AbstractFactory computerFactory = new ComputerFactory();
        ComputerMac computerMac = (ComputerMac) computerFactory.makeComputer("mac");
        System.out.println(computerMac.internet());
    }

}
